package com.ktgj.flight.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 机票销售政策维护对象 flight_salespolicy
 * 
 * @author ruoyi
 * @date 2022-06-06
 */
public class FlightSalespolicy implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 销售政策基本信息ID */
    private Long policyId;

    /** 产品渠道 参考枚举：EIssuePath */
    @Excel(name = "产品渠道 参考枚举：EIssuePath")
    private String issueType;

    /** 产品途径 参考枚举：TicketAutoInterFaceType */
    @Excel(name = "产品途径 参考枚举：TicketAutoInterFaceType")
    private String issueMethed;

    /** 销售渠道 */
    @Excel(name = "销售渠道")
    private String salesType;

    /** 乘客类型 */
    @Excel(name = "乘客类型")
    private String guestType;

    /** 航空公司编码 */
    @Excel(name = "航空公司编码")
    private String airCode;

    /** 舱位（多个以逗号隔开） */
    @Excel(name = "舱位", readConverterExp = "多=个以逗号隔开")
    private String cabin;

    /** 出发地 */
    @Excel(name = "出发地")
    private String departure;

    /** 到达地 */
    @Excel(name = "到达地")
    private String arrival;

    /** 政策开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "政策开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date policyDateStart;

    /** 政策结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "政策结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date policyDateEnd;

    /** 航班开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "航班开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flightDataStart;

    /** 航班结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "航班结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flightDataEnd;

    /** 产品类型及政策（多个以逗号隔开：0普通产品1旗舰店产品） */
    @Excel(name = "产品类型及政策", readConverterExp = "多=个以逗号隔开：0普通产品1旗舰店产品")
    private String productType;

    /** 代理（AMOUNT_AGENT_TYPE字段等于0为佣金，1为返点） */
    @Excel(name = "代理", readConverterExp = "A=MOUNT_AGENT_TYPE字段等于0为佣金，1为返点")
    private BigDecimal amountAgent;

    /** 是否为代理返点（0代表佣金，1代表返点） */
    @Excel(name = "是否为代理返点", readConverterExp = "0=代表佣金，1代表返点")
    private BigDecimal amountAgentType;

    /** 后返（AMOUNT_RETURN_TYPE字段等于0为佣金，1为返点） */
    @Excel(name = "后返", readConverterExp = "A=MOUNT_RETURN_TYPE字段等于0为佣金，1为返点")
    private BigDecimal amountReturn;

    /** 是否为后返返点（0代表佣金，1代表返点） */
    @Excel(name = "是否为后返返点", readConverterExp = "0=代表佣金，1代表返点")
    private BigDecimal amountReturnType;

    /** 加价佣金 */
    @Excel(name = "加价佣金")
    private BigDecimal amountAdd;

    /** 是否适用最低价（0否1是） */
    @Excel(name = "是否适用最低价", readConverterExp = "0=否1是")
    private Long isSuit;

    /** 是否匹配原退改签（0否1是） */
    @Excel(name = "是否匹配原退改签", readConverterExp = "0=否1是")
    private Long isMatching;

    /** 是否比价差价（0否1是） */
    @Excel(name = "是否比价差价", readConverterExp = "0=否1是")
    private Long isThan;

    /** 是否启用（0否1是） */
    @Excel(name = "是否启用", readConverterExp = "0=否1是")
    private Long isUse;

    /** 是否删除（0否1是） */
    @Excel(name = "是否删除", readConverterExp = "0=否1是")
    private Long isDelete;

    /** 维护人 */
    @Excel(name = "维护人")
    private Long employeeId;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /*-----------------------------------------------------------*/

    /** 出发地 */
    @Excel(name = "出发地")
    private String departureName;

    /** 到达地 */
    @Excel(name = "到达地")
    private String arrivalName;

    public String getDepartureName() {
        return departureName;
    }

    public void setDepartureName(String departureName) {
        this.departureName = departureName;
    }

    public String getArrivalName() {
        return arrivalName;
    }

    public void setArrivalName(String arrivalName) {
        this.arrivalName = arrivalName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setPolicyId(Long policyId)
    {
        this.policyId = policyId;
    }

    public Long getPolicyId() 
    {
        return policyId;
    }
    public void setIssueType(String issueType)
    {
        this.issueType = issueType;
    }

    public String getIssueType()
    {
        return issueType;
    }
    public void setIssueMethed(String issueMethed)
    {
        this.issueMethed = issueMethed;
    }

    public String getIssueMethed()
    {
        return issueMethed;
    }
    public void setSalesType(String salesType)
    {
        this.salesType = salesType;
    }

    public String getSalesType()
    {
        return salesType;
    }
    public void setGuestType(String guestType)
    {
        this.guestType = guestType;
    }

    public String getGuestType()
    {
        return guestType;
    }
    public void setAirCode(String airCode) 
    {
        this.airCode = airCode;
    }

    public String getAirCode() 
    {
        return airCode;
    }
    public void setCabin(String cabin) 
    {
        this.cabin = cabin;
    }

    public String getCabin() 
    {
        return cabin;
    }
    public void setDeparture(String departure) 
    {
        this.departure = departure;
    }

    public String getDeparture() 
    {
        return departure;
    }
    public void setArrival(String arrival) 
    {
        this.arrival = arrival;
    }

    public String getArrival() 
    {
        return arrival;
    }
    public void setPolicyDateStart(Date policyDateStart) 
    {
        this.policyDateStart = policyDateStart;
    }

    public Date getPolicyDateStart() 
    {
        return policyDateStart;
    }
    public void setPolicyDateEnd(Date policyDateEnd) 
    {
        this.policyDateEnd = policyDateEnd;
    }

    public Date getPolicyDateEnd() 
    {
        return policyDateEnd;
    }
    public void setFlightDataStart(Date flightDataStart) 
    {
        this.flightDataStart = flightDataStart;
    }

    public Date getFlightDataStart() 
    {
        return flightDataStart;
    }
    public void setFlightDataEnd(Date flightDataEnd) 
    {
        this.flightDataEnd = flightDataEnd;
    }

    public Date getFlightDataEnd() 
    {
        return flightDataEnd;
    }
    public void setProductType(String productType) 
    {
        this.productType = productType;
    }

    public String getProductType() 
    {
        return productType;
    }
    public void setAmountAgent(BigDecimal amountAgent) 
    {
        this.amountAgent = amountAgent;
    }

    public BigDecimal getAmountAgent() 
    {
        return amountAgent;
    }
    public void setAmountAgentType(BigDecimal amountAgentType) 
    {
        this.amountAgentType = amountAgentType;
    }

    public BigDecimal getAmountAgentType() 
    {
        return amountAgentType;
    }
    public void setAmountReturn(BigDecimal amountReturn) 
    {
        this.amountReturn = amountReturn;
    }

    public BigDecimal getAmountReturn() 
    {
        return amountReturn;
    }
    public void setAmountReturnType(BigDecimal amountReturnType) 
    {
        this.amountReturnType = amountReturnType;
    }

    public BigDecimal getAmountReturnType() 
    {
        return amountReturnType;
    }
    public void setAmountAdd(BigDecimal amountAdd) 
    {
        this.amountAdd = amountAdd;
    }

    public BigDecimal getAmountAdd() 
    {
        return amountAdd;
    }
    public void setIsSuit(Long isSuit) 
    {
        this.isSuit = isSuit;
    }

    public Long getIsSuit() 
    {
        return isSuit;
    }
    public void setIsMatching(Long isMatching) 
    {
        this.isMatching = isMatching;
    }

    public Long getIsMatching() 
    {
        return isMatching;
    }
    public void setIsThan(Long isThan) 
    {
        this.isThan = isThan;
    }

    public Long getIsThan() 
    {
        return isThan;
    }
    public void setIsUse(Long isUse) 
    {
        this.isUse = isUse;
    }

    public Long getIsUse() 
    {
        return isUse;
    }
    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("policyId", getPolicyId())
            .append("issueType", getIssueType())
            .append("issueMethed", getIssueMethed())
            .append("salesType", getSalesType())
            .append("guestType", getGuestType())
            .append("airCode", getAirCode())
            .append("cabin", getCabin())
            .append("departure", getDeparture())
            .append("arrival", getArrival())
            .append("policyDateStart", getPolicyDateStart())
            .append("policyDateEnd", getPolicyDateEnd())
            .append("flightDataStart", getFlightDataStart())
            .append("flightDataEnd", getFlightDataEnd())
            .append("productType", getProductType())
            .append("amountAgent", getAmountAgent())
            .append("amountAgentType", getAmountAgentType())
            .append("amountReturn", getAmountReturn())
            .append("amountReturnType", getAmountReturnType())
            .append("amountAdd", getAmountAdd())
            .append("isSuit", getIsSuit())
            .append("isMatching", getIsMatching())
            .append("isThan", getIsThan())
            .append("isUse", getIsUse())
            .append("isDelete", getIsDelete())
            .append("employeeId", getEmployeeId())
            .append("createTime", getCreateTime())
            .append("operationTime", getOperationTime())
            .toString();
    }
}
